package com.smedi.ismedi.progress.core.application.query.Impl;

import com.smedi.ismedi.progress.core.application.command.ProgressDetailCommand;
import com.smedi.ismedi.progress.core.application.command.ProgressViewCommand;
import com.smedi.ismedi.progress.core.application.query.ProgressViewQueryService;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressDetail;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressKanbanDetails;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressView;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProjectScheduleDetail;
import com.smedi.ismedi.progress.core.domain.repository.ProgressViewRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 进度管理 查询实现类
 *
 * @author pengyan
 * @date 2022/09/21
 */
@Service
@AllArgsConstructor
public class ProgressViewQueryServiceServiceImpl implements ProgressViewQueryService {

    private final ProgressViewRepository progressViewRepository;
    @Override
    public ProgressView scheduleViewAndApproval(ProgressViewCommand progressViewCommand) {
        return progressViewRepository.scheduleViewAndApproval(progressViewCommand);
    }

    @Override
    public void removeProgressPojectVersion(ProgressViewCommand progressViewCommand) {
        progressViewRepository.removeProgressPojectVersion(progressViewCommand);
    }

    @Override
    public ProgressDetail scheduleDetails(ProgressDetailCommand progressDetailCommand) {
        return progressViewRepository.scheduleDetails(progressDetailCommand);
    }

    @Override
    public List<ProjectScheduleDetail> scheduleDetailsByApp(ProgressDetailCommand progressDetailCommand) {
        return progressViewRepository.scheduleDetailsByAPP(progressDetailCommand);
    }

    @Override
    public ProgressDetail keywordDetails(ProgressDetailCommand progressDetailCommand) {
        return progressViewRepository.keywordDetails(progressDetailCommand);
    }

    @Override
    public ProgressKanbanDetails progressKanbanDDetails(ProgressDetailCommand progressDetailCommand) {
        return progressViewRepository.progressKanbanDDetails(progressDetailCommand);
    }

}
